package com.fengze.business.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.fengze.business.domain.ProjectInfo;
import com.fengze.business.vo.ProjectInfoVO;
import org.apache.ibatis.annotations.Param;

/**
 * 立项登记Mapper接口
 * 
 * @author lug
 * @date 2024-02-02
 */
public interface ProjectInfoMapper 
{
    /**
     * 查询立项登记
     * 
     * @param id 立项登记主键
     * @return 立项登记
     */
    public ProjectInfo selectProjectInfoById(Long id);

    /**
     * 查询立项登记列表
     * 
     * @param projectInfo 立项登记
     * @return 立项登记集合
     */
    public List<ProjectInfo> selectProjectInfoList(ProjectInfo projectInfo);

    /**
     * 新增立项登记
     * 
     * @param projectInfo 立项登记
     * @return 结果
     */
    public int insertProjectInfo(ProjectInfo projectInfo);

    /**
     * 修改立项登记
     * 
     * @param projectInfo 立项登记
     * @return 结果
     */
    public int updateProjectInfo(ProjectInfo projectInfo);

    /**
     * 删除立项登记
     * 
     * @param id 立项登记主键
     * @return 结果
     */
    public int deleteProjectInfoById(Long id);

    /**
     * 批量删除立项登记
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProjectInfoByIds(Long[] ids);

    int total();

    int danagerTotal();

    List<ProjectInfoVO> queryList(ProjectInfo projectInfo);

    int updateProjectStatus(@Param("idList") List<Long> projectIdList,@Param("status") int status, @Param("oldStatus") int oldStatus);

    int updateStatusById(@Param("projectId")Long projectId, @Param("newStatus")int newStatus, @Param("oldStatus")int oldStatus);

    int addPaymentMoney(@Param("id") Long id,@Param("paymentMoney") BigDecimal paymentMoney);

    int updateReceiveMoney(@Param("id")Long id,@Param("receiveMoney") BigDecimal receiveMoney);
}
